#pragma once
namespace Lumin {
namespace Win32 {

class CSocketListener : protected CThread , public ISocketListener
{
public:
	CSocketListener(int nPort=0);
	~CSocketListener(void);
	UINT GetPort(){return m_nListenPort;}
	void Start(){CThread::Start();}
	void Terminate(){CThread::Terminate();}
	UINT GetData(){return m_nData;}
	void SetData(UINT nData){m_nData=nData;}
	void Shutdown();
private:
	virtual int Run();
private:
	UINT m_nData;
	int m_nListenPort;
	volatile SOCKET m_skListenner;
};

}}